.components-panel-wp {
  flex: none;
  z-index: 6;
  width: var(--schema-comps-width);
  height: 100%;
  background: var(--schema-color-bg-deep);
  user-select: none;
  .components-panel {
    z-index: 9;
    display: flex;
    width: var(--schema-comps-width);
    height: 100%;
    transition: .2s ease;
    flex-direction: column;
    flex: auto;
    .panel-title {
      position: relative;
      user-select: none;
      text-align: center;
      height: 30px;
      padding: 10px;
      background: var(--schema-color-bg-light);
      border-right: 1px solid var(--schema-color-bg-deep);
    }
  }
  .components-panel-content {
    position: relative;
    width: 100%;
    height: calc(100% - 30px);
    .components-type {
      position: absolute;
      width: 100%;
      height: 100%;
      z-index: 2;
      .components-item {
        position: relative;
        cursor: pointer;
        width: 100%;
        height: 50px;
        overflow: hidden;
        .com-tab-icon {
          width: 100%;
          height: 100%;
          text-align: center;
          line-height: 50px;
          font-size: 24px;
          color: var(--bin-color-text-secondary);
        }
        .com-tab-title {
          background: var(--schema-color-bg-dark);
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          line-height: 50px;
          text-align: center;
          transform: translate(-100%, 0);
          opacity: 0;
          transition: .2s;
        }
        &:hover {
          color: var(--bin-color-primary);
          .com-tab-title {
            opacity: 1;
            transform: translate(0, 0);
          }
        }
      }
    }
    .components-list {
      position: absolute;
      width: 180px;
      height: 100%;
      top: 0;
      right: 0;
      z-index: 1;
      transform: translateX(100%);
      background: #0a0b0d;
      opacity: 1;
      transition: .2s;
      overflow: auto;
      .comp-item {
        cursor: pointer;
        color: var(--schema-font-color);
        width: 100%;
        vertical-align: top;
        user-select: none;
        margin-bottom: 12px;
        box-sizing: border-box;
        overflow: hidden;
        position: relative;
        .comp-item-text {
          font-size: 12px;
          padding: 0 5px;
          text-align: left;
          overflow: hidden;
          background: var(--schema-color-bg);
          white-space: nowrap;
          text-overflow: ellipsis;
          line-height: 22px;
        }
        .comp-item-img {
          overflow: hidden;
          width: 100%;
          background-clip: content-box;
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          background-color: #17191c;
          position: relative;
          text-align: center;
          box-sizing: content-box;
          transition: border-color 0.2s;
          height: 72px;
        }
      }
      &.is-hide {
        opacity: 0;
        transform: translateX(-50px);
      }
    }
  }
}
